Java Static polymorphism